const Koa = require('koa')
const axios = require('axios')
const Router = require('koa-router')
const app = new Koa()
const router = new Router()

//应用程序对象 中间件 
//中间件就是一个函数(当函数注册到应用程序上面改函数就成为了一个中间件)
//注册到应用程序对象上
// app.use(async(ctx, next) =>{
//上下文 ctx
//next 下一个中间件函数
// const result = await 100*100
// const result = await next()
// await 求值关键字，也可以对表达式求值，不单单是Promise
// 阻塞当前线程 
// console.log(result)
// })

// app.use(async(ctx, next) =>{
// const res = await axios.get('http://7yue.pro')
// console.log(res)
// console.log('hello, gr1')
// return 'abc'
// })
// async 函数的返回时会被强制转换成Promise

// -------------------------------
router.get('/classic/latest', (ctx, next) => {
  ctx.body = {
    key: 'classic'
  }
})

app.use(router.routes())


// app.use(async(ctx,next) =>{
// console.log(ctx.path)
// console.log(ctx.method)
//路由 
// if(ctx.path === '/classic/latest' && ctx.method === 'GET'){
//   ctx.body = {
//     key: 'classic'
//   }
// }
// })

app.listen(3000)